diff options
| author | Dawid Rycerz <dawid@rycerz.xyz> | 2026-01-13 15:44:43 +0100 |
|---|---|---|
| committer | Dawid Rycerz <dawid@rycerz.xyz> | 2026-01-13 15:44:43 +0100 |
| commit | c0dcecc43e36eeb6b10f662c1be760736cd0dbac (patch) | |
| tree | 9c421dc980a3e011f0bb4671e90b0d8a38ef614d /src/pages/micro/[...page].astro | |
| parent | 52411f6cb9efc10dd683096b34e5c279a11f7e0a (diff) | |
Cleanup old micro pages
Diffstat (limited to 'src/pages/micro/[...page].astro')
| -rw-r--r-- | src/pages/micro/[...page].astro | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/src/pages/micro/[...page].astro b/src/pages/micro/[...page].astro deleted file mode 100644 index d11d9ce..0000000 --- a/src/pages/micro/[...page].astro +++ /dev/null @@ -1,77 +0,0 @@ ---- -import { type CollectionEntry, getCollection } from "astro:content"; -import type { GetStaticPaths, Page } from "astro"; -import { Icon } from "astro-icon/components"; -import Note from "@/components/note/Note.astro"; -import Pagination from "@/components/Paginator.astro"; -import PageLayout from "@/layouts/Base.astro"; - -export const getStaticPaths = (async ({ paginate }) => { - const MAX_MICRO_PER_PAGE = 10; - - // Get only Pleroma posts tagged with "micro" - const allMicro = await getCollection("micro", ({ data }) => data.tags?.includes("micro")).catch( - () => [], - ); // Fallback to empty array if micro collection fails - - // Sort all micro posts - const allMicroPosts = allMicro.sort( - (a, b) => b.data.publishDate.getTime() - a.data.publishDate.getTime(), - ); - - return paginate(allMicroPosts, { pageSize: MAX_MICRO_PER_PAGE }); -}) satisfies GetStaticPaths; - -interface Props { - page: Page<CollectionEntry<"micro">>; - uniqueTags: string[]; -} - -const { page } = Astro.props; - -const meta = { - description: "Read my collection of micro posts", - title: "Micro", -}; - -const paginationProps = { - ...(page.url.prev && { - prevUrl: { - text: "← Previous Page", - url: page.url.prev, - }, - }), - ...(page.url.next && { - nextUrl: { - text: "Next Page →", - url: page.url.next, - }, - }), -}; ---- - -<PageLayout meta={meta}> - <section> - <h1 class="title mb-6 flex items-center gap-3"> - Micro - <a class="text-accent" href="/tags/" title="Browse all tags"> - <span class="sr-only">Browse tags</span> - <Icon aria-hidden="true" class="h-6 w-6" focusable="false" name="mdi:tag-multiple" /> - </a> - <a class="text-accent" href="/tags/micro/rss.xml" target="_blank"> - <span class="sr-only">RSS feed</span> - <Icon aria-hidden="true" class="h-6 w-6" focusable="false" name="mdi:rss" /> - </a> - </h1> - <ul class="mt-6 space-y-8 text-start"> - { - page.data.map((note) => ( - <li class=""> - <Note note={note} as="h2" isPreview /> - </li> - )) - } - </ul> - <Pagination {...paginationProps} /> - </section> -</PageLayout> |
